package com.gopay.common.cps.dao.bank;

import java.util.List;

import com.gopay.common.base.dao.BaseReadDAO;
import com.gopay.common.domain.bank.BankOrder;

/**
 * 银行流水查询
 * 
 * @BankOrderDAO.java
 * @author yaobo
 * @2013-3-19 上午09:54:49 www.gopay.com.cn Inc.All rights reserved.
 */
public interface BankOrderQueryDAO extends BaseReadDAO<BankOrder, String> {

    /**
     * 获取对单记录
     * 
     * @param orderStatus
     *            当前状态
     * @param count
     *            对单次数
     * @param pageIndex
     *            当前页数
     * @param pageSize
     *            每页记录数
     * @return
     */
    public List<BankOrder> getCheckOrder(String orderStatus, int count, int pageIndex, int pageSize);
    
    public List<BankOrder> getCheckOrderByBank(String orderStatus, int pageIndex, int pageSize,String bankCode);
    
    public int getCheckOrderCountByBank(String orderStatus,String bankCode);
    public List<BankOrder> getCheckBcdlOrder(String bank,String orderStatus, int pageIndex, int pageSize);
	public int getCheckOrderCount(String orderStatus,String bank);
    /**
     * 获取对单记录
     * 
     * @param orderStatus
     *            当前状态
     * @param count
     *            对单次数
     * @param pageIndex
     *            当前页数
     * @param pageSize
     *            每页记录数
     * @return
     */
    public List<BankOrder> getCheckBcdlOrder(String orderStatus, int count, int pageIndex, int pageSize);

    /**
     * 获取对单总记录数
     * 
     * @param orderStatus
     *            当前状态
     * @param count
     *            对单次数
     * @return
     */
    public int getCheckOrderCount(String orderStatus, int count);

    public BankOrder getCheckOrderByOutOrderId(String gopayOutOrderId);
    
    public BankOrder getCheckOrderByGopayOrderId(String gopayOrderId);

    /**
     * 获取对单总记录数
     * 
     * @param orderStatus
     *            当前状态
     * @param count
     *            对单次数
     * @return
     */
    public int getCheckBcdlOrderCount(String orderStatus, int count);

    /**
     * 获取可用银行流水
     * 
     * @param gopayOrderId
     *            国付宝订单号
     * @return
     */
    public BankOrder getEnable(String gopayOrderId);
}
